Database management systems have evolved greatly over the past several years. Database managers once included only hierarchical systems which were satisfactory for information storage and retrieval. Later, relational database managers were developed to maintain data in a tabular form that provided improved flexibility in querying and analyzing data based on selected attributes presented in the rows and columns of the relational tables. More recently, multidimensional data models have provided still greater flexibility in querying and analyzing data stored for the members in any of the dimensions of the multidimensional data models. Multidimensional data models support contemporary forms of business intelligence applications, such as on-line analytical processing (OLAP). Accordingly, multidimensional databases are commonly termed “OLAP cubes.”
Analogous to the way in which relational databases are queried using structured query language (SQL) systems, multidimensional data models may be queried using multidimensional expression (MDX) systems. For example, the Microsoft Office PerformancePoint Server 2007 product produced by Microsoft Corporation of Redmond, Wash., allows multidimensional data model to be accessed using MDX queries or MDX scripts in order to give effect to business rules to be applied to the data.
MDX expressions offer tremendous flexibility and, thus, are very powerful business intelligence tools. Nonetheless, MDX expressions may not provide a desirable level of performance when the target size of the expressions becomes very large. For example, performing aggregation functions that calculate sums, averages, or other calculations over a large, multidimensional data structure using MDX queries or MDX scripts may involve performing many calculations over a vast multidimensional cell space. In such cases, the performance resulting from the use of MDX queries or MDX scripts may prove unsatisfactory.